package titiritero.vista;

import java.awt.Graphics;
import java.awt.*;

import titiritero.Dibujable;
import titiritero.Posicionable;
import titiritero.SuperficieDeDibujo;

/*
 * Esta clase representa una imagen abstrayendo al usuario de los detalles de Java2D
 * Simplemente requiere de una referencia al nombre de un archivo
 */
public class Imagen implements Dibujable {
	
	private String nombreArchivoImagen;
    private Image imagen;
    private Posicionable posicionable;
	
	public Imagen (String nombreArchivoImagen) {
		this.nombreArchivoImagen = nombreArchivoImagen;
		cargarImagen();
	}

	public void dibujar(SuperficieDeDibujo superficeDeDibujo) {
		Graphics grafico = ((Ventana)superficeDeDibujo).getGrafico();
		grafico.drawImage(this.imagen, this.posicionable.getX(), this.posicionable.getY(), null);
	}
	    
	public String getNombreArchivoImagen() {
		return nombreArchivoImagen;
	}

	public void cargarImagen() {
		try{
			this.imagen = Toolkit.getDefaultToolkit().createImage(nombreArchivoImagen);
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	public Posicionable getPosicionable() {
		return posicionable;
	}

	public void setPosicionable(Posicionable posicionable) {
		this.posicionable = posicionable;
	}

}
